Controller for electric motor

ABSTRACT

A feedback amount calculation unit uses a deviation of a current from its command value or a deviation of an air-gap flux from its command value to calculate a feedback amount. A voltage error calculation unit calculates a variation range of a voltage error between a voltage value based on a voltage equation of the electric motor and a voltage command. The presence or absence of step-out of the electric motor is determined by comparison between the variation range of the voltage error and the feedback amount.

TECHNICAL FIELD

The present invention relates to a technique for controlling an electric motor, and particularly to a technique for determining the occurrence of an abnormality in a synchronous motor.

BACKGROUND ART

Various techniques for detecting step-out of an electric motor have been conventionally developed. Among the documents exemplifying such techniques are Japanese Patent Application Laid-Open No. 2010-051151, Japanese Patent Application Laid-Open No. 2010-252503, and Japanese Patent Application Laid-Open No. 2008-92787.

Japanese Patent Application Laid-Open No. 2010-051151 discloses a technique for determining step-out from a deviation of a d-axis current and a q-axis command voltage.

Japanese Patent Application Laid-Open No. 2010-252503 discloses a technique for detecting step-out by comparison between a model voltage and a voltage command.

Japanese Patent Application Laid-Open No. 2008-92787 discloses a technique for determining step-out if a magnetic flux obtained from a current and a rotation speed command is not greater than a threshold.

SUMMARY OF INVENTION Problem to be Solved by the Invention

The conventional techniques described above do not reflect variations in the specifications of electric motors, power modules that drive the electric motors, and detectors. Thus, a threshold for determining the occurrence of step-out needs to be decided experimentally. Such decision of a threshold causes a problem of increased man-hours in development.

This application therefore has an object to provide a technique for determining the presence or absence of an abnormality (e.g., step-out) of an electric motor.

Means to Solve the Problem

A controller for an electric motor according to the present invention controls a synchronous motor. The controller includes an electric motor drive unit (2, 104) that applies a voltage (v_(u), v_(v), v_(N)) based on a voltage command ([v_(δγ)*]) to the synchronous motor, a feedback amount calculation unit (1022) that decides a feedback amount based on a deviation of a current ([i_(δγc)]) flowing through the synchronous motor from a command value ([i_(δγ)*]) of the current or a deviation of an air-gap flux ([λ_(δγc)]) in the synchronous motor from a command value ([λ_(δγ)*]) of the air-gap flux, a voltage command generation unit (1024) that generates the voltage command on the basis of the feedback amount, a voltage error calculation unit (1025) that calculates a range in which an error ([Δv_(δγ)*]) between a voltage value based on a voltage equation of the synchronous motor and the voltage command varies, and a determination unit (109) that determines the occurrence of an abnormality in the synchronous motor when the feedback amount deviates from the range in which the error varies.

For example, the error ([Δv_(δγ)*]) is set on the basis of a variation range decided by at least one of the current ([i_(δγc)]), the voltage command ([v_(δγ)*]), a manufacturing tolerance or a range of guarantee of an operating temperature of the synchronous motor (3), a manufacturing tolerance or a range of guarantee of an operating temperature of the electric motor drive unit, a manufacturing tolerance or a range of guarantee of an operating temperature of a detector that detects the current or the voltage, or a rotation angle velocity (ω₁) of the synchronous motor.

For example, the range in which the error ([Δv_(δγ)]) varies is set on the basis of a variation range decided by at least one of a range in which an error (e_(iI)[I][i_(δγc)]) that is parallel in phase with the current ([i_(δγc)]) varies, a range in which an error (e_(iJ)[J][i_(δγc)]) that is orthogonal in phase to the current varies, a range in which an error (e_(Λ)[sin φ_(c) cos φ_(c)]^(t)) that is orthogonal in phase to a field flux ([Λ0]) of the synchronous motor (3) varies, or a range in which an error (e_(v)[v_(δγ)*]) that is parallel in phase with the voltage command ([v_(δγ)*]) varies.

For example, the range in which the error ([Δv_(δγ)*]) varies is set by a maximum value and/or a minimum value of the error in a combination of an upper limit and a lower limit of the variation range, the current ([i_(δγc)]), and the voltage command ([v_(δγ)*]).

For example, the range in which the error ([Δv_(δγ)*]) varies is further set also on the basis of one term of the voltage equation. The controller further includes a feedforward amount calculation unit (1023) that decides a feedforward amount ([F]) based on a term of the voltage equation except for the one term. The voltage command generation unit (1024) further generates the voltage command ([v_(δγ)*]) also on the basis of the feedforward amount.

For example, the controller further includes a feedforward amount calculation unit (1023) that decides a feedforward amount ([F]) based on the voltage equation. The voltage command generation unit (1024) further generates the voltage command ([v_(δγ)*]) also on the basis of the feedforward amount ([F]).

Effects of the Invention

The controller for an electric motor according to the present invention determines the occurrence of an abnormality in the electric motor when the feedback amount deviates from a predetermined range.

These and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a vector diagram illustrating the relationship between an air-gap flux and a field flux in a synchronous motor;

FIG. 2 is a block diagram illustrating a configuration of an electric motor controller according to a first embodiment and its peripheral devices;

FIG. 3 is a block diagram illustrating a configuration of a voltage command calculation unit in the first embodiment;

FIG. 4 is a block diagram illustrating a configuration of a voltage command calculation unit in a second embodiment; and

FIG. 5 is a block diagram illustrating a configuration of a voltage command calculation unit in a third embodiment.

DESCRIPTION OF EMBODIMENTS Basic Concept of the Invention

The basic concept of the present invention will be described before detailed description of embodiments. Needless to say, this basic concept is also included in the present invention.

FIG. 1 is a vector diagram illustrating the relationship between an air-gap flux [λ] (unless otherwise specified, a symbol [ ] represents a vector quantity; the same holds true for the following) in a synchronous motor (hereinafter, merely referred to as an “electric motor”; although some special synchronous motors, such as switched reluctance motors, have no magnetic field, the synchronous motor herein refers to a synchronous motor having a magnetic field) and a field flux [Λ0] in the electric motor. For example, in the case where an electric motor has a permanent magnet, the field flux [Λ0] is generated by the permanent magnet, or in the case where an electric motor has a field winding, the field flux [Λ0] is generated by a current flowing through the field winding.

The d-q rotating coordinate system is introduced as a rotating coordinate system synchronized with the rotation of an electric motor. Herein, the d-axis is set in phase with the field flux [Λ0], and the phase of the q-axis leads with respect to the d-axis by 90 degrees in the direction toward which a rotation is intended to be made by control of the electric motor (hereinafter, merely referred to as a “direction of rotation”).

Additionally, the δ-γ rotating coordinate system and the δc-γc rotating coordinate system are introduced as rotating coordinate systems. The phases of the δ-axis and the γ-axis lead respectively with respect to the d-axis and the q-axis toward the direction of rotation of the electric motor by a phase angle φ. The phases of the δc-axis and the γc-axis lead respectively with respect to the d-axis and the q-axis toward the direction of rotation of the electric moto by a phase angle φ_(c). Hereinafter, for the sake of description, the phase angle φ of the δ-axis to the d-axis is referred to as an actual phase angle φ, and the phase angle φ_(c) of the δc-axis to the q-axis is referred to as an estimated phase angle φ_(c).

For example, in the method for controlling an electric motor, which is known as “primary magnetic flux control”, the δ-axis is set in phase with the air-gap flux [λ].

As is well known, the air-gap flux [λ] is decided by the voltage and current supplied to an electric motor (more specifically, an armature winding of an armature included in the electric motor), the device constants of the electric motor (e.g., an inductance, a resistance component of the armature winding, and a field flux), and the rotation velocity of the electric motor. The estimated value [λ̂] of the air-gap flux [λ] is thus obtained from the actual values (or command values or estimated values) of the voltage and current, device constants, and rotation velocity described above. The controller that controls the electric motor thus performs control such that the estimated value [λ̂] is equal to a command value [λ*] of the air-gap flux [λ]. In the “primary magnetic flux control” described above, the γ-axis component of the command value [λ*] is zero.

When the δc-γc rotating coordinate system is employed in such control, the estimated phase angle φ_(c) coincides with the actual phase angle φ, thus enabling appropriate control of the rotation of the electric motor. This is because if the device constants, the rotation velocity, and the voltage and current supplied to the electric motor are completely grasped, the air-gap flux [λ] coincides with the command value [λ*] by performing control such that the estimated value [λ̂] obtained on the basis of these factors is equal to the command value [λ*].

The estimated phase angle φ_(c), however, may differ from the actual phase angle φ due to, for example, a variation in load or disturbance. Such a difference is normally corrected by feedback control. A feedback amount used for feedback control (herein, merely referred to as a “feedback amount”), which is ideally zero, actually falls within a narrow range. If the difference between the estimated phase angle φ_(c) and the actual phase angle φ is not eliminated even by feedback control, however, a feedback amount will increase.

The present invention focuses attention on this point, and is characterized by determining the occurrence of an abnormality in an electric motor by a feedback amount deviating from a predetermined range.

First Embodiment

FIG. 2 is a block diagram illustrating the configuration of an electric motor controller 1 according to this embodiment and its peripheral devices on the basis of the concept above.

An electric motor 3 is a three-phase electric motor and includes an armature (not shown) and a rotor that is a field. As a technical common sense, the armature has an armature winding, and the rotor rotates relative to the armature. Description will be made on a case where the field includes, for example, a magnet that generates a field flux.

A voltage supply source 2 includes, for example, a voltage control type inverter and a control unit therefor and applies a three-phase voltage v_(u), v_(v), v_(w) based on a three-phase voltage command [v_(x)*]=[v_(u)* v_(v)* v_(w)*]^(t) (the superscript “t” after a bracket represents the transposition of a matrix; the same holds true for the following) to the electric motor 3. This causes a three-phase current [i_(x)]=[i_(u) i_(v) i_(w)]^(t) to flow through the electric motor 3. Note that the components of the voltage command [v*] and the three-phase current [i_(x)] are described, for example, in order of a U-phase component, a V-phase component, and a W-phase component.

The electric motor controller 1 is a device that controls the air-gap flux [λ] and the rotation velocity (in the example below, the rotation angle velocity) on the electric motor 3. The air-gap flux [λ] is also referred to as a primary magnetic flux and is a synthesis of the field flux and the magnetic flux of armature reaction generated by an armature current (which is a three-phase current [i_(x)] as well) flowing through the armature.

The electric motor controller 1 includes coordinate transformation units 101 and 104, a voltage command calculation unit 102, a subtracter 105, an integrator 106, a high pass filter 107, a constant multiplier unit 108, and a determination unit 109.

The coordinate transformation unit 101 transforms the three-phase current [i_(x)] into a current [i_(δγc)]=[i_(δc) i_(γc)]^(t) in the δc-γc rotating coordinate system. The three-phase current [i_(x)] can be measured by a known technique, for example, with a detector (not shown).

The coordinate transformation unit 104 transforms the voltage command [v_(δγ)*] in the δc-γc rotating coordinate system into a voltage command [v_(x)*]. In these transformations, a rotation angle θ in the δc-γc rotating coordinate system to the fixed coordinate system (e.g., the UVW fixed coordinate system) on the electric motor 3 is used. These transformations are achieved by a known technique, and thus, detailed description thereof will be omitted here.

The voltage command [v_(x)*] and the three-phase current [i_(x)] may be represented in a so-called αβ fixed coordinate system (for example, the a-axis is set in phase with the U-phase) or any other rotating coordinate system instead of the three-phase UVW fixed coordinate system. The coordinate transformation units 101 and 104 perform transformations corresponding to these coordinate systems. The coordinate system employed for the voltage command [v*] is decided by a coordinate system on the basis of which the voltage supply source 2 operates. The voltage supply source 2 and the coordinate transformation unit 104 can be collectively regarded as an electric motor drive unit that applies a voltage v_(u), v_(v), v_(w) based on the voltage command [v_(δγ)*] to the electric motor 3.

The integrator 106 calculates a phase angle θ on the basis of a rotation angle velocity ω₁. The rotation angle velocity ω₁ is obtained as an output of the subtracter 105. If the primary magnetic flux control has been performed, the subtracter 105 subtracts a value from a command value ω* of the rotation angle velocity, the value being obtained by multiplying a predetermined value Km, in the constant multiplier unit 108, by a DC component removed a γc-axis component i_(δc) of the current [i_(δγc)] in the high pass filter 107. This yields a rotation angle velocity ω₁. When the air-gap flux [λ] is controlled appropriately, φ_(c)=φ as described above, thus resulting in ω₁=ω*.

The voltage command calculation unit 102 outputs the voltage command [v_(δγ)*], as well as a feedback amount [B] and a voltage error [Δv_(δγ)*] that serves as a basis of the predetermined range described in “Basic Concept”. The determination unit 109 compares the feedback amount [B] and the threshold resulting from the voltage error [Δv_(δγ)*] and outputs a determination signal Z indicating whether an abnormality, for example, step-out has occurred in the electric motor or not.

FIG. 3 is a block diagram illustrating the configuration of the voltage command calculation unit 102. The voltage command calculation unit 102 includes a magnetic flux calculation unit 1021, a feedback amount calculation unit 1022, a feedforward amount calculation unit 1023, a voltage command generation unit 1024, a voltage error calculation unit 1025, and a voltage command output regulation unit 1026.

The magnetic flux calculation unit 1021 receives the current [i_(δγc)], the rotation angle velocity ω₁, and the voltage command [v_(δγ)*] and outputs an estimated phase angle φ_(c) and an air-gap flux [λ_(δγc)]. The estimated value [λ̂] descried above may be employed as the air-gap flux [λ_(δγc)]. Specifically, the estimated phase angle φ_(c) and the air-gap flux [λ_(δγc)] can be obtained as follows.

In general, when a d-axis component L_(d) and a q-axis component L_(q) of the inductance of the armature winding of the electric motor 3, a δ-axis component i_(δ) and a γ-axis component i_(γ) of the current flowing through the electric motor 3, a δ-axis component v_(δ) and a γ-axis component v_(γ) of the voltage applied to the electric motor 3, an actual phase angle φ, an absolute value Λ₀ of a field flux, a resistance component R of the armature winding of the electric motor 3, a rotation angle velocity ω₁, and a differential operator p are introduced, the following voltage equation (1) holds, where [I], [J], [C], and symbols [ ] surrounding these elements represent matrices.

$\begin{matrix} \left. \begin{matrix} {\begin{bmatrix} v_{\delta} \\ v_{\gamma} \end{bmatrix} = {{R\begin{bmatrix} i_{\delta} \\ i_{\gamma} \end{bmatrix}} + {\left( {{p\lbrack I\rbrack} + {\omega_{1}\lbrack J\rbrack}} \right)\begin{bmatrix} \lambda_{\delta} \\ \lambda_{\gamma} \end{bmatrix}}}} \\ {{\lbrack I\rbrack = \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix}},{\lbrack J\rbrack = \begin{bmatrix} 0 & {- 1} \\ 1 & 0 \end{bmatrix}},{\begin{bmatrix} \lambda_{\delta} \\ \lambda_{\gamma} \end{bmatrix} = {{\left( {{L_{0}\lbrack I\rbrack} + {L_{1}\lbrack C\rbrack}} \right)\begin{bmatrix} i_{\delta} \\ i_{\gamma} \end{bmatrix}} +}}} \\ {\bigwedge_{0}\begin{bmatrix} {\cos \; \varphi} \\ {{- \sin}\; \varphi} \end{bmatrix}} \\ {{L_{0} = \frac{L_{d} + L_{q}}{2}},{L_{1} = \frac{L_{d} - L_{q}}{2}},{\lbrack C\rbrack = \begin{bmatrix} {\cos \left( {2\varphi} \right)} & {- {\sin \left( {2\varphi} \right)}} \\ {- {\sin \left( {2\varphi} \right)}} & {- {\cos \left( {2\varphi} \right)}} \end{bmatrix}}} \end{matrix} \right) & (1) \end{matrix}$

Similarly, a setup value L_(dc) of the d-axis component and a setup value L_(qc) of a q-axis component of the inductance of the armature winding, a δc-axis component i_(δc) and a γc-axis component i_(γc) of the current flowing through the electric motor 3, a δc-axis component γ_(δc) and a γc-axis component v_(γc) of the voltage applied to the electric motor 3, an estimated phase angle φ_(c), a setup value Λ_(0c) of an absolute value of the field flux, a setup value R_(c) of a resistance component of the armature winding of the electric motor 3, and the rotation angle velocity ω₁ are introduced, and accordingly, the following voltage equation (2) holds in the δc-γc rotating coordinate system.

$\left. {(2)\begin{matrix} \begin{matrix} {\left\lbrack \lambda_{{\delta\gamma}\; c} \right\rbrack = {\begin{bmatrix} \lambda_{\delta \; c} \\ \lambda_{\gamma \; c} \end{bmatrix} = {{\begin{pmatrix} {{L_{0c}\begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix}} +} \\ {L_{1c}\begin{bmatrix} {\cos \left( {2\varphi_{c}} \right)} & {- {\sin \left( {2\varphi_{c}} \right)}} \\ {- {\sin \left( {2\varphi_{c}} \right)}} & {- {\cos \left( {2\varphi_{c}} \right)}} \end{bmatrix}} \end{pmatrix}\left\lbrack i_{{\delta\gamma}\; c} \right\rbrack} + {\bigwedge_{0c}\begin{bmatrix} {\cos \; \varphi_{c}} \\ {{- \sin}\; \varphi_{c}} \end{bmatrix}}}}} \\ {{L_{0c} = \frac{L_{dc} + L_{qc}}{2}},{L_{1c} = \frac{L_{dc} - L_{qc}}{2}}} \end{matrix} \\ {\varphi_{c} = {\tan^{- 1}\frac{v_{\delta \; c} - {R_{c}i_{\delta \; c}} + {\omega_{1}L_{qc}i_{\gamma_{c}}}}{v_{\gamma \; c} - {R_{c}i_{\lambda \; c}} + {\omega_{1}L_{qc}i_{\gamma_{c}}}}}} \end{matrix}} \right)$

The δc-axis component v_(δc) and the γc-axis component v_(γc) of the voltage are not actually measured, and thus, the magnetic flux calculation unit 1021 employs a voltage command [v_(δγ*)]=[v_(δ)* v_(γ)*]^(t) in place of these components to obtain the estimated phase angle φ_(c) and the air-gap flux [λ_(δγc)]. The setup values L_(dc), L_(qc), R_(c), and Λ_(0c) can be stored in the magnetic flux calculation unit 1021 in advance.

In the steady state, the result of the operation by the differential operator p is zero, and thus, the voltage equation in the steady state is introduced as the following formula (3) from the formula (1).

$\begin{matrix} {\begin{bmatrix} v_{\delta} \\ v_{\gamma} \end{bmatrix} = {{R\begin{bmatrix} i_{\delta} \\ i_{\gamma} \end{bmatrix}} + {{\omega_{1}\begin{bmatrix} 0 & {- 1} \\ 1 & 0 \end{bmatrix}}\begin{bmatrix} \lambda_{\delta} \\ \lambda_{\gamma} \end{bmatrix}}}} & (3) \end{matrix}$

To correct the errors due to the differences between the setup values L_(dc), L_(qc), R_(c), and Λ_(oc) and the actual values L_(d), L_(q), R, and Λ₀ thereof with voltage commands, the voltage command [v_(δγ)*] is decided by a sum of the feedforward amount [F] and the feedback amount [B] of the following formula (4) using a deviation of the air-gap flux [λ_(δγc)] in the δc-γc rotating coordinate system from the command value [λ*], where a feedback gain Gλ (≠0), and a δ-axis λ_(δ)* and a γ-axis component λ_(γ)* of the command value [λ*] are introduced.

$\begin{matrix} {{\begin{bmatrix} v_{\delta}^{*} \\ v_{\gamma}^{*} \end{bmatrix} = {\lbrack F\rbrack + \lbrack B\rbrack}},{\lbrack F\rbrack = {{R_{c}\begin{bmatrix} i_{\delta \; c} \\ i_{\gamma \; c} \end{bmatrix}} + {{\omega_{1}\begin{bmatrix} 0 & {- 1} \\ 1 & 0 \end{bmatrix}}\begin{bmatrix} \lambda_{\delta \; c} \\ \lambda_{{\gamma \; c}\;} \end{bmatrix}}}},{\lbrack B\rbrack = {G_{\lambda}\left( {\begin{bmatrix} v_{\delta}^{*} \\ v_{\gamma}^{*} \end{bmatrix} - \begin{bmatrix} \lambda_{\delta \; c} \\ \lambda_{\gamma \; c} \end{bmatrix}} \right)}}} & (4) \end{matrix}$

The voltage command generation unit 1024 adds the feedforward amount [F] and the feedback amount [B] to obtain the voltage command [v_(δγ)*].

To generate the feedforward amount [F], the feedforward amount calculation unit 1023 receives the air-gap flux [λ_(δγc)] and the current [i_(δγc)] to obtain the feedforward amount [F] in accordance with the formula (4). In other words, the feedforward amount [F] is obtained by the voltage equation in the steady state using the current [i_(δγc)], the setup value R_(c) of the resistance component, the rotation angle velocity ω₁, and the air-gap flux [λ_(δγc)].

To generate the feedback amount [B], the feedback amount calculation unit 1022 receives the air-gap flux [λ_(δγc)] and the command value [λ*] thereof to calculate the feedback amount [B] in accordance with the formula (4). Specifically, the deviation of the air-gap flux [λ_(δγc)] from the command value [λ*] is multiplied by the feedback gain Gλ. The feedback gain Gλ can be stored in the feedback amount calculation unit 1022.

Although the feedback gain Gλ is expressed in scalar quantity in the formula (4), it may be expressed as a non-zero matrix of two rows and two columns, which acts on the deviation of the air-gap flux.

Ideally, if the feedback amount [B] is zero, the δ-axis component λ_(δ)* and the γ-axis component λ_(γ)* respectively coincide with the δc-axis component λ_(δc) and the γc-axis component λ_(γc), and the steady state expressed by the formula (3) is achieved by the control in the δc-γc rotating coordination system.

When the feedback control using such a feedback amount [B] has been performed appropriately, a discrepancy between the actual phase angle φ and the estimated phase angle φ_(c) is small, and thus, an approximation can be made such that there is no discrepancy between the rotation angle velocity ω₁ and the command value ω*. In this case, a concept of the voltage error [Δv_(δγ)*] being an error of a voltage command is newly introduced, and time variations in air-gap flux [λ_(δγc)] are also taken into account, so that the following formula (5) holds.

$\begin{matrix} \left. \begin{matrix} {{\left\lbrack v_{\delta\gamma}^{*} \right\rbrack {R_{c}\left\lbrack i_{{\delta\gamma}\; c} \right\rbrack}} + {\left( {{p\lbrack I\rbrack} + {\omega_{1}\lbrack J\rbrack}} \right)\left\lbrack \lambda_{{\delta\gamma}\; c} \right\rbrack} - \left\lbrack {\Delta \; v_{\delta\gamma}^{*}} \right\rbrack} \\ {\left\lbrack {\Delta \; v_{\delta\gamma}^{*}} \right\rbrack \approx {{\left( {{e_{iI}\lbrack I\rbrack} + {e_{iJ}\lbrack J\rbrack}} \right)\left\lbrack i_{{\delta\gamma}\; c} \right\rbrack} + {e_{\bigwedge}\begin{bmatrix} {\sin \; \varphi_{c}} \\ {\cos \; \varphi_{c}} \end{bmatrix}} + {e_{v}\left\lbrack v_{\delta\gamma}^{*} \right\rbrack}}} \end{matrix} \right) & (5) \end{matrix}$

That is to say, the voltage error [Δv_(δγ)*] can be defined as a value obtained by subtracting the voltage command [v_(δγ)*] from the voltage value (R_(c)[i_(δγc)]+(p[I]+ω₁[J])[λ_(δγc)]) obtained from the voltage equation on the electric motor 3. The voltage error [Δv_(δγ)*] can be approximated by the second expression of the formula (5).

Coefficients e_(iI), e_(iJ), e_(Λ), and e_(v) vary within the range of the variation decided by the manufacturing tolerance or the range of guarantee of the operating temperature of the electric motor 3, depending on the variations in the specifications of the electric motor 3, the voltage supply source 2 and the detector (not shown) for a current [i_(x)] (or the voltage input to the voltage supply source 2), and the rotation angle velocity ω₁. The range in which the voltage error [Δv_(δγ)*] that is an error of the voltage command depends on the current [i_(δγc)], the estimated phase angle φ_(c), and the voltage command [v_(δγ)*], as well as the ranges of variations of the coefficients e_(iI), e_(iJ), e_(Λ), and e_(v).

That is to say, the voltage error [Δv_(δγ)*] is set by the variation range decided by at least one of the current [i_(δγc)], the voltage command [v_(δγ)], the manufacturing tolerance or the range of guarantee of the operating temperature of the electric motor 3 and the voltage supply source 2, the manufacturing tolerance or the range of guarantee of the operating temperature of the detector that detects the current [i_(δγc)] or the voltage v_(u), v_(v), v_(w), or the rotation angle velocity (si.

In more detail, the variation range is set by at least one of the range in which an error e_(iI)[I][i_(δγc)] that is parallel in phase with (is in phase with or in opposite phase with) the current [i_(δγc)] varies, the range in which an error e_(iJ)[J][i_(δγc)] that is orthogonal in phase to the current [i_(δγc)] varies, the range in which an error e_(Λ)[sin φ_(c) cos φ_(c)]^(t) that is orthogonal in phase to the field flux [Λ0] varies, or the range in which an error e_(v)[v_(δγ)*] that is parallel in phase with the voltage command [v_(δγ)*] varies.

Herein, the voltage error [Δv_(δγ)*] corresponds to the feedback amount [B] (more specifically, [Δv_(δγ)*]=−[B]). As described above, it is premised that the voltage error [Δv_(δγ)*] has been subjected to feedback control such that a discrepancy between the actual phase angle φ and the estimated phase angle φ_(c) is small. If the electric motor 3 steps out in operation, this premise will not hold. In such a case, thus, the feedback amount [B] exceeds the range in which the voltage error [Δv_(δγ)*] varies. In other words, when the feedback amount [B] exceeds the range in which the voltage error [Δv_(δγ)*] varies during feedback control, it is judged that the operation of the electric motor 3 has stepped out.

That is to say, the range in which the voltage error [Δv_(δγ)*] varies serves as a threshold for the feedback amount [B] in judging the presence or absence of step-out. To calculate the range in which the voltage error [Δv_(δδ)*] varies in accordance with the right side of the second expression of the formula (5), the voltage error calculation unit 1025 receives the estimated phase angle φ_(c), the current [i_(δγc)], and the voltage command [v_(δγ)*].

For example, the upper limits and the lower limits of the variation ranges of the coefficients e_(iI), e_(iJ), e_(Λ), and e_(v), the current [i_(δγc)], the estimated phase angle φ_(c), and the voltage command [v_(δγ)*] are used to obtain maximum values and minimum values of the respective terms of the right side of the second expression of the formula (5). The voltage error [Δv_(δγ)*] in the employment of the combination of the maximum values or the minimum values of the respective terms, which serves as a threshold, is compared with the feedback amount [B]. The voltage error calculation unit 1025 may calculate the coefficients e_(iI), e_(iJ), e_(Λ), and e_(v). In such a case, the voltage error calculation unit 1025 also receives the rotation angle velocity ω₁.

This can be understood as follows: the range in which the voltage error [Δv_(δγ)*] varies is set by the maximum value and/or the minimum value of the voltage error [Δv_(δγ)*] in the combination of the upper limit and the lower limit of the variation range, the current [i_(δγc)], and the voltage command.

In brief, a maximum absolute value that can be employed by the voltage error [Δv_(δγ)*] shown in the right side of the formula (6) below may be employed as the threshold of the absolute value of the feedback amount [B].

$\begin{matrix} {{\left\lbrack {\Delta \; v_{\delta\gamma}^{*}} \right\rbrack } \approx {{{\left( {{e_{iI}\lbrack I\rbrack} + {e_{iJ}\lbrack J\rbrack}} \right)\left\lbrack i_{{\delta\gamma}\; c} \right\rbrack} + {e_{\bigwedge}\begin{bmatrix} {\sin \; \varphi_{c}} \\ {\cos \; \varphi_{c}} \end{bmatrix}} + {e_{v}\left\lbrack v_{\delta\gamma}^{*} \right\rbrack}}}} & (6) \end{matrix}$

Alternatively, the formula (7) below holds, and thus, the rightmost side of the formula (7) may be employed as a threshold. This is desirable from the viewpoint of reducing an amount of operations. The rightmost side does not include the estimated phase angle φ_(c), and thus can be employed for a control system that does not output the estimated phase angle φ_(c) by the magnetic flux calculation unit 10.

$\begin{matrix} \begin{matrix} {{\left\lbrack {\Delta \; v_{\delta\gamma}^{*}} \right\rbrack } \approx {{{\left( {{e_{iI}\lbrack I\rbrack} + {e_{iJ}\lbrack J\rbrack}} \right)\left\lbrack i_{{\delta\gamma}\; c} \right\rbrack} + {e_{\bigwedge}\begin{bmatrix} {\sin \; \varphi_{c}} \\ {\cos \; \varphi_{c}} \end{bmatrix}} + {e_{v}\left\lbrack v_{\delta\gamma}^{*} \right\rbrack}}}} \\ {\leq {{{\left( {{e_{iI}\lbrack I\rbrack} + {e_{iJ}\lbrack J\rbrack}} \right)}{\left\lbrack i_{{\delta\gamma}\; c} \right\rbrack }} + {e_{\bigwedge}} + {{e_{v}}{\left\lbrack v_{\delta\gamma}^{*} \right\rbrack }}}} \end{matrix} & (7) \end{matrix}$

During the constant speed operation, the rotation angle velocity ω₁ is constant, and thus, |e_(iI)[I]+e_(iJ)[J]|, |e_(Λ)|, and |e_(v)| have constant values that will not change.

Alternatively, the feedback amount [B] and the voltage error [Av_(δγ)*] may be compared for each of the δc-axis component and the γc-axis component. Or, they may be compared for only one of the components. This is desirable from the viewpoint of reducing an amount of operations. For example, in the formula (8), a maximum absolute value of the γc-axis component Δv_(γ)* of the voltage error [Δv_(δγ)*], which is to be compared with the feedback amount [B] for the γc-axis component, is obtained. Thus, the rightmost side of the formula (8) may be compared with the feedback amount [B].

Δv _(γ) *≈e _(iI) i _(γc) +e _(iJ) i _(δc) +e _(Λ)cos φ_(c) +e _(v) v _(γ) *≦|e _(iI) ∥i _(λc) |+|e _(iJ) ∥i _(δc) |+|e _(Λ) |+|e _(v) ∥v _(γ)*|  (8)

The determination unit 109 receives the voltage error [Δv_(δγ)*] and compares the threshold described above or the voltage error [Δv_(δγ)*] with the feedback amount [B] to output the determination signal Z. Although the threshold described above is generated by, for example, determination unit 109, a block that obtains a threshold from the voltage error [Δv_(δγ)*] may be provided separately in the voltage command calculation unit 102.

The voltage command output regulation unit 1026 receives the determination signal Z and the voltage command [v_(δγ)*]. The voltage command output regulation unit 1026 outputs the voltage command [v_(δγ)*] in cases except for the case in which the determination signal Z indicates step-out. When the determination signal Z indicates step-out, the voltage command output regulation unit 1026 outputs a stop command S in place of the voltage command [v_(δγ)*] to stop the operation of the voltage supply source 2. This prevents driving of the electric motor 3 that remains stepping out.

In this embodiment, a threshold is set on the basis of, for example, the current [i_(δγc)] or the voltage command [v_(δγ)*], resulting in an appropriate threshold according to the operation state. This is desirable from the viewpoints of increasing the accuracy of detecting step-out and reducing false detections of step-out.

The threshold is set on the basis of the variation range decided by the manufacturing tolerance or the range of guarantee of the operation temperature, reducing a need for experimentally deciding a threshold. This is desirable from the viewpoint of a greatly reduced man-hours in development compared with the method of experimentally deciding a threshold.

Second Embodiment

A second embodiment will describe a technique for obtaining a feedback amount [B] from a current deviation. Specifically, the feedback amount [B] is obtained in accordance with the formula (9), where a feedback gain G_(i)(≠0) and a command value [i_(δγ)*]=[i_(δ)* i_(γ)*]^(t) of a current [i_(δγc)] are introduced. As in the first embodiment, the feedback gain G_(i) may be a non-zero matrix of two rows and two columns that acts on a current deviation.

$\begin{matrix} {\lbrack B\rbrack = {G_{i}\left( {\begin{bmatrix} i_{\delta}^{*} \\ i_{\gamma}^{*} \end{bmatrix} - \begin{bmatrix} i_{\delta \; c} \\ i_{\gamma \; c} \end{bmatrix}} \right)}} & (9) \end{matrix}$

When the feedback amount [B] is obtained as described above, in place of the air-gap flux [λ_(δγc)] and the command value [λ_(δγ)*] thereof, the current [i_(δγc)] and the command value [i_(δγ)*] thereof are input to a feedback amount calculation unit 1022.

The configuration of an electric motor controller 1 according to this embodiment thus differs from the configuration of the electric motor controller 1 according to the first embodiment in that not the command value [λ_(δγ)*] of the air-gap flux but the command value [i_(δγ)*] of the current is input to a voltage command calculation unit 102.

FIG. 4 is a block diagram illustrating the configuration of the voltage command calculation unit 102 in this embodiment.

Also in this embodiment, the voltage error [Δv_(δγ)*] can be decided as in the first embodiment. Additionally, the presence or absence of step-out can be determined by performing the process as in the first embodiment.

It can be understood from the first embodiment and this embodiment that the feedback amount [B] is decided on the basis of a deviation of one of the current [i_(δγc)] or the air-gap flux [λ_(δγc)] from the command value ([i_(δγ)*], [λ_(δγ)*]) thereof.

Third Embodiment

This embodiment will describe a case in which only feedback control is performed without feedforward control. In this case, as expressed by the formula (10) below, the voltage command [v_(δγ)*] is equal to the feedback amount [B].

$\begin{matrix} {\begin{bmatrix} v_{\delta}^{*} \\ v_{\gamma}^{*} \end{bmatrix} = {\lbrack B\rbrack = {G_{\lambda}\left( {\begin{bmatrix} \lambda_{\delta}^{*} \\ \lambda_{\gamma}^{*} \end{bmatrix} - \begin{bmatrix} \lambda_{\delta \; c} \\ \lambda_{\gamma \; c} \end{bmatrix}} \right)}}} & (10) \end{matrix}$

FIG. 5 is a block diagram illustrating the configuration of a voltage command calculation unit 102 in this embodiment. The voltage command generation unit 1024 described in the first embodiment and the second embodiment is not required, and a feedback amount calculation unit 1022 outputs a feedback amount [B] as the voltage command [v_(δγ)*].

Meanwhile, a feedforward amount calculation unit 1023 calculates a feedforward amount [F] as described in the first embodiment and the second embodiment. The voltage error [Δv_(δγ)*] employed in the first embodiment and the second embodiment is corrected herein by subtracting the feedforward amount [F] therefrom. In this embodiment, a symbol [Δv_(δγ)*] is used for a voltage error that is corrected by subtracting the feedforward amount [F] therefrom.

That is to say, the voltage error [Δv_(δγ)*] is obtained from the formula (11) below in this embodiment.

$\begin{matrix} {\left\lbrack {\Delta \; v_{\delta\gamma}^{*}} \right\rbrack \approx {{\left( {{\left( {e_{iI} - R_{c}} \right)\lbrack I\rbrack} + {e_{iJ}\lbrack J\rbrack}} \right)\left\lbrack i_{{\delta\gamma}\; c} \right\rbrack} - {{\omega_{1}\lbrack J\rbrack}\left\lbrack \lambda_{{\delta\gamma}\; c} \right\rbrack} + {e_{\bigwedge}\begin{bmatrix} {\sin \; \varphi_{c}} \\ {\cos \; \varphi_{c}} \end{bmatrix}} + {e_{v}\left\lbrack v_{\delta\gamma}^{*} \right\rbrack}}} & (11) \end{matrix}$

In the use of the feedback amount [B] itself as the voltage command [v_(δγ)*], the voltage error [Av_(δγ)*] decided by the formula (11) can be used to determine the presence or absence of step-out as in the first embodiment. This is apparent from the formulae (4) and (5).

The above reveals that also in this embodiment, the presence or absence of step-out can be determined by performing the process as in the first embodiment.

Needless to say, also in this embodiment, the product of the current deviation and the feedback gain G_(i) may be used as the feedback amount [B] as in the second embodiment. In that case, the feedback amount [B] obtained by the formula (9) is employed as the voltage command [v_(δγ)]. As in the second embodiment, thus, in place of the air-gap flux [λ_(δγc)] and the command value [v_(δγ)*] thereof, the current [i_(δγc)] and the command value [i_(δγ)*] thereof are input to the feedback amount calculation unit 1022.

As described above, on what the voltage error [Δv_(δγ)*] is based differs depending on whether only the feedback amount [B] is used or the feedforward amount [F] is also used to obtain the voltage command [v_(δγ)*]. In the case where the voltage command [v_(δγ)*] is not based on the feedforward amount [F], as in this embodiment, the voltage error [Δv_(δγ)*] is set also on the basis of the feedforward amount [F]. In the case where the voltage command [v_(δγ)] is based on the feedforward amount [F], as in the first and second embodiments, the voltage error [Δv_(δγ)*] is not based on the air-gap flux [λ_(δγc)] (see the second expression of the formula (5)).

The feedforward amount [F] may be set on the basis of a term of the voltage equation except for one term. In this case, the range in which the voltage error [Δv_(δγ)*] varies is set also on the basis of the one term.

Variation 1

The coefficients e_(iI), e_(iJ), e_(Λ), and e_(v) can be affected by the variations in the device constant of the electric motor 3, as well as variations on circuit. For example, the coefficients e_(iI) and e_(iJ) are affected by the variations in the detector (not shown) that detects a current [i_(x)], and the coefficient e_(v) is affected by the variations in the detector (not shown) that detects a voltage input to the voltage control type inverter (not shown) of the voltage supply source 2 or a voltage v_(u), v_(v), v_(w) output therefrom. Note that the variations on the circuit, however, has a less effect on the voltage error [Δv_(δγ)*] than the variations in the device constant of the electric motor 3. If the variations on the circuit are disregarded, thus, step-out can actually be determined.

In the case where variations except for the variations in detector have less effects on the voltage error [Δv_(δγ)*], step-out can be virtually determined if such variations are disregarded.

Alternatively, for example, only the variations that affect the voltage error [Δv_(δγ)*] most may be taken into account.

Variation 2

A maximum value of the voltage error [Δv_(δγ)*], which is a threshold to be compared with the feedback amount [B], may be calculated in advance on the worst conditions within the operation range assumable for the electric motor 3 and may be stored.

In this case, the voltage error calculation unit 1025 has a small amount of operations, and the memory thereof can have a small capacity. Or, a table simply showing a threshold can replace the voltage error calculation unit 1025.

For example, thresholds are obtained in advance for respective rotation angle velocities and are stored as a table.

Needless to say, the threshold may be set to be greater than the maximum value of the voltage error [Δv_(δγ)*] in consideration of a margin.

Variation 3

An estimated phase angle φ_(c) is small, and thus can be approximated to zero to obtain a threshold.

A threshold may be obtained within an assumable range that can be taken by the estimated phase angle φ_(c) on the conditions on which no step-out occurs. For example, in the operation without step-out within the range of the estimated phase angle φ_(c) of −90° to 90° (such control is employed in, for example, primary magnetic flux control), −1≦sin φ_(c)≦1 and 0≦cos φ_(c)≦1 are employed to obtain a threshold.

When the estimated phase angle φ_(c) is approximated to zero or −1≦sin φ_(c)≦1 and 0≦cos φ_(c)≦1 are employed to obtain a threshold, the estimated phase angle φ_(c) itself needs not to be obtained. In the control that needs not to obtain the estimated phase angle φ_(c) except for obtaining a threshold, an amount of operations for obtaining the estimated phase angle φ_(c) (see the formula (2)) can be reduced.

Obtaining a threshold within an assumable range that can be taken by the estimated phase angle φ_(c) on the conditions on which no step-out occurs is advantageous in that an abnormality can be determined also in the case of the operation range beyond expectation.

The various embodiments and variations above can be appropriately combined with each other unless their functions are impaired.

The block diagrams above are schematic, and the respective units can be configured as hardware or can be configured as a microcomputer (including a memory device) whose functions are implemented by software. Various procedures executed by the respective units or some or all of the means or functions implemented thereby may be implemented by hardware.

The microcomputer executes the respective process steps (in other words, a procedure) described in a program. The memory device above can be constituted of one or a plurality of memory devices such as a ROM (Read Only Memory), a RAM (Random Access Memory), a rewritable nonvolatile memory (EPROM (Erasable Programmable ROM) or the like), and a hard disk unit. The memory device stores therein, for example, various types of information and data, stores therein a program to be executed by the microcomputer, and provides a work area for execution of the program. It can be understood that the microcomputer functions as various means corresponding to the respective process steps described in the program or that the microcomputer implements various functions corresponding to the respective process steps.

While the invention has been shown and described in detail, the foregoing description is in all aspects illustrative and not restrictive. It is therefore understood that numerous modifications and variations can be devised without departing from the scope of the invention. 

1. A controller for an electric motor, said controller controlling a synchronous motor, said controller comprising: an electric motor drive unit that applies a voltage based on a voltage command to said synchronous motor; a feedback amount calculation unit that decides a feedback amount based on a deviation of a current flowing through said synchronous motor from a command value of said current or a deviation of an air-gap flux in said synchronous motor from a command value of said air-gap flux; a voltage command generation unit that generates said voltage command on the basis of said feedback amount; a voltage error calculation unit that calculates a range in which an error between a voltage value based on a voltage equation of said synchronous motor and said voltage command varies; and a determination unit that determines an occurrence of an abnormality in said synchronous motor when said feedback amount deviates from the range in which said error varies.
 2. The controller for an electric motor according to claim 1, wherein said error is set on the basis of a variation range decided by at least one of said current, said voltage command, a manufacturing tolerance or a range of guarantee of an operating temperature of said synchronous motor, a manufacturing tolerance or a range of guarantee of an operating temperature of said electric motor drive unit, a manufacturing tolerance or a range of guarantee or an operating temperature of a detector that detects said current or said voltage, or a rotation angle velocity of said synchronous motor.
 3. The controller for an electric motor according to claim 1, wherein the range in which said error varies is set on the basis of a variation range decided by at least one of a range in which an error that is parallel in phase with said current varies, a range in which an error that is orthogonal in phase to said current varies, a range in which an error that is orthogonal in phase to a field flux of said synchronous motor varies, or a range in which an error that is parallel in phase with said voltage command varies.
 4. The controller for an electric motor according to claim 2, wherein the range in which said error varies is set on the basis of a variation range decided by at least one of a range in which an error that is parallel in phase with said current varies, a range in which an error that is orthogonal in phase to said current varies, a range in which an error that is orthogonal in phase to a field flux of said synchronous motor varies, or a range in which an error that is parallel in phase with said voltage command varies.
 5. The controller for an electric motor according to claim 2, wherein the range in which said error varies is set by a maximum value and/or a minimum value of said error in a combination of an upper limit and a lower limit of said variation range, said current, and said voltage command.
 6. The controller for an electric motor according to claim 3, wherein the range in which said error varies is set by a maximum value and/or a minimum value of said error in a combination of an upper limit and a lower limit of said variation range, said current, and said voltage command.
 7. The controller for an electric motor according to claim 4, wherein the range in which said error varies is set by a maximum value and/or a minimum value of said error in a combination of an upper limit and a lower limit of said variation range, said current and said voltage command.
 8. The controller for an electric motor according to claim 1, wherein the range in which said error varies is further set also on the basis of one term of said voltage equation, said controller further comprises a feedforward amount calculation unit that decides a feedforward amount based on a term of said voltage equation except for said one term, and said voltage command generation unit further generates said voltage command also on the basis of said feedforward amount.
 9. The controller for an electric motor according to claim 1, further comprising a feedforward amount calculation unit that decides a feedforward amount based on said voltage equation, wherein said voltage command generation unit further generates said voltage command also on the basis of said feedforward amount. 